/**
 * 
 */
package org.william.common_boot.business.service.impl;


import java.util.List;
import java.util.Map;

import org.william.common_boot.business.dao.CityAnnotationDao;
import org.william.common_boot.business.dao.CityDao;
import org.william.common_boot.business.domain.CityBean;
import org.william.common_boot.database.DBSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/** 
 * Description: 
 * @author xuhongwei
 * @version 1.0
 * <pre>
 * Modification History: 
 * Date         Author      Version     Description 
------------------------------------------------------------------
 * 2018年4月10日    xuhongwei     1.0        1.0 Version 
 * </pre>
 */
@Service
public class CityServiceImpl{
	
	@Autowired
	CityDao cityDao;
	
	
	@Autowired
	CityAnnotationDao cityAnnotationDao;

	/**
	 * 
	 * 查询主库所有城市数据
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月24日
	 */
	@SuppressWarnings("rawtypes")
	@DBSource(name="master")
	public List<Map> queryAllCityListMaster(){
		return cityDao.getCity();
		
	}
	
	/**
	 * 查询从库所有城市数据
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月24日
	 */
	@SuppressWarnings("rawtypes")
	@DBSource(name="slave")
	public List<Map> queryAllCityListSlave(){
		return cityDao.getCity();
	}

	/**
	 * 
	 * 根据id查询城市信息
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月24日
	 */
	@DBSource(name="slave")
	public CityBean queryOneOfCity(int cityId){
		return cityDao.queryOneOfCity(cityId);
	}
	
	
	/**
	 * 
	 * 根据城市名称查询城市信息
	 * 
	 * 采用---注解---的方式查询
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月24日
	 */
	@DBSource(name="master")
	public CityBean  queryCityByName(String cityName){
		return cityAnnotationDao.findByName(cityName);
	}
	
}
